(process-kill-buffer-query-function): New function.
authorJuri Linkov <juri@jurta.org>
Sat, 18 Jul 2009 21:05:47 +0000 (21:05 +0000)
committerJuri Linkov <juri@jurta.org>
Sat, 18 Jul 2009 21:05:47 +0000 (21:05 +0000)
(add-hook)<kill-buffer-query-functions>: Add hook
`process-kill-buffer-query-function'.

lisp/subr.el

index 777202cf1eea2982aeb56a36c123dce421f47906..37411bcb8adbfdfc688d7fe0fb9bb796815c6692 100644 (file)
@@ -1722,6 +1722,16 @@ Value is t if a query was formerly required."
     (set-process-query-on-exit-flag process nil)
     old))
 
+(defun process-kill-buffer-query-function ()
+  "Ask before killing a buffer that has a running process."
+  (let ((process (get-buffer-process (current-buffer))))
+    (or (not process)
+        (not (memq (process-status process) '(run stop open listen)))
+        (not (process-query-on-exit-flag process))
+        (yes-or-no-p "Buffer has a running process; kill it? "))))
+
+(add-hook 'kill-buffer-query-functions 'process-kill-buffer-query-function)
+
 ;; process plist management
 
 (defun process-get (process propname)